
<template>
  <div id="AnimatedObject"></div>
</template>

<script>
export default {
  name:'AnimatedObject',
  methods:{
    // JavaScript Document
    // 运动物体类的基类
    AnimatedObject() {
      this.AnimatedObjectInit() ;
    },
    // 初始化
    animatedObjectInit() {
      this.foregroundColor = '#FF0000' ; // 前景色
      this.backgroundColor = '#00FF00' ; // 背景色
      this.highlightColor = '#FF6347' ; // 高亮色
      this.highlighted = false ; // 是否高亮
      this.highlightDiff = 3 ; // 高亮范围
      this.objectID = -1 ; // 物体ID
      this.label = "" ; // 标签
      this.x = 0 ; // x坐标 
      this.y = 0 ; // y坐标
      this.alpha = 0 ; // 透明度
      this.labelColor = '#FF0000' ; // 标签颜色
      this.addToScene = false ; // 是否添加到屏幕
      // eslint-disable-next-line no-undef
      this.animationMaxFrame = animationMaxFrame ; // 最大动画帧数
    },
    // 设置标签
    animatedObjectSetLabel(label) {
      this.label = label ;
    },
    // 设置前景色
    animatedObjectSetForegroundColor(color) {
      this.foregroundColor = color ;
    },
    // 设置背景色
    animatedObjectSetBackgroundColor(color) {
      this.backgroundColor = color ;
    },
    
    // 设置高亮色
    animatedObjectSetHighlightColor(color) {
      this.highlightColor = color ;
    },

    // 设置高亮
    animatedObjectSetHighlight(value) {
      this.highlighted = value ;
    },

    // 获得高亮
    animatedObjectGetHighlight() {
      return this.highlighted ;
    },

    // 强调高亮
    animatedObjectPluseHighlight(framenum) {
      if(this.highlighted) {
        var alpha = 1.0 ;
        if(framenum <= this.animationMaxFrame/2) {
          alpha = (2.0 * framenum / this.animationMaxFrame) ;
        }
        else {
          alpha = 2 -  (2.0 * framenum / this.animationMaxFrame) ;
        }
        //alpha = 1.0*framenum / this.animationMaxFrame ;
        this.setAlpha(alpha) ;
      }
    },

    // 设置透明度
    animatedObjectSetAlpha(alpha) {
      this.alpha = alpha ;
    },

    // 获得透明度
    animatedObjectGetAlpha() {
      return this.alpha ;
    },

    // 获得箭头的头部的坐标
    animatedObjectGetArrowHeadPoint(fromX, fromY) {
    },

    // 获得箭头的尾部的坐标
    animatedObjectGetArrowTailPoint(fromX, fromY) {
    }

  }
}
</script>

<style>

</style>